import asyncio

#用协程实现一个计算平均数的函数

def my_average():
    total = 0
    number = 0
    while True:
        try:
            value = yield total/number
        except ZeroDivisionError:
            value = yield 0
        total += value
        number += 1

my_avg = my_average()
next(my_avg)
while True:
    i = int(input("请输入一个值："))
    print("平均值为：", my_avg.send(i))


#编写一个asyncio异步程序

class Response:
    staus_code = 200

async def sim_request(index):
    print(f"模拟发送请求 index：{index}")
    response = Response()
    await asyncio.sleep(1)
    print(f"request index {index}, response staus_code:{response.staus_code}")
    return response.staus_code

loop = asyncio.get_event_loop()

task_array = []
for i in range(30):
    task_array.append(sim_request(i))

loop.run_until_complete(asyncio.wait(task_array))

loop.close